package com.mall.live.service;

import com.github.pagehelper.PageInfo;
import com.mall.common.response.CommonResponse;
import com.mall.entity.live.TbLive;
import com.mall.entity.live.TbLiveFollower;

import java.util.List;
import java.util.Map;

/**
 * @author  LiJinYang
 * @email  283006176@qq.com
 * @date 2021/07/27 18:51
 * @version 1.0
 */
public interface ILiveService {
    Map<String, List<TbLive>> findAll(Integer id);

    /**
     * 直播列表
     * @param tbLive
     * @param page
     * @param size
     * @return
     */
    PageInfo findPage(TbLive tbLive, int page, int size);

    /**
     * 修改直播状态
     * @param id
     * @param status
     */
    void update(Long id, String status);

    /**
     * 执行逻辑删除
     * @param id
     */
    void delete(Long id);

    /**
     * 查看直播人,显示直播人、在线人数;
     * @param id
     * @return
     */
    CommonResponse liveDetails(Long id);

    void update(int id, String status);

    CommonResponse updateStatusById(Integer id, String status);

    TbLive findOne(Integer id);

    CommonResponse addLive(TbLive live,Long[] itmes,String token);

    Map<String, List<TbLive>> findFeedBack(Integer id);

    void liveInto(Long id);

    List<TbLive> findLiveList();

    List<TbLive> findLiveRecommend();

    /**
     * 查询直播间观看人数
     * @param lid
     * @return
     */
    List<TbLiveFollower> watch(Long lid);

    /**
     * 我的直播间
     * @return
     */
    List<TbLive> myLive(String token);

    /**
     * 开播，返回直播间推流信息，进行推流
     * @param id
     * @return
     */
    TbLive start(Integer id);

    /**
     * 进入直播间，添加观看人数
     * @param id
     */
    TbLive liveNum(Integer id);
}
